Q17 verification
----------------------------------------------------------------------------
beta(seawater 35 g/L) = 0.021564; beta(brackish 3.5 g/L) = 0.002156
closed form vs numerical quadrature, max relative difference: 5.65e-27
d/dr w(r) = (Pi(r) - w(r))/r identically: True (max numeric residual 3.5e-15)
w increasing in r (seawater): True; (brackish): True
w(r->0) matches Pi_feed to 0.5%: True (w(0.001)=0.8166, Pi(0)=0.8162 kWh/m3)

Seawater, 35 g/L NaCl, 25 C (i = 2):
 recovery  brine (g/L)   w (kWh/m3)  marginal (bar)  per m3 feed
    0.001         35.0       0.8166           29.41       0.8158
    0.100         38.9       0.8594           32.61       0.7735
    0.250         46.7       0.9376           39.04       0.7032
    0.500         70.0       1.1262           58.15       0.5631
    0.600         87.5       1.2381           72.31       0.4952
    0.750        140.0       1.4905          113.95       0.3726
    0.900        350.1       2.0280          268.93       0.2028
    0.990       3500.6       3.2776         1583.00       0.0328

Brackish, 3.5 g/L NaCl:
 recovery   w (kWh/m3)  per m3 feed
    0.001       0.0824       0.0824
    0.100       0.0868       0.0781
    0.250       0.0948       0.0711
    0.500       0.1142       0.0571
    0.600       0.1258       0.0503
    0.750       0.1521       0.0380
    0.900       0.2102       0.0210
    0.990       0.3754       0.0038

seawater at 50% recovery: 1.1262 kWh/m3 (real SWRO plants typically 3-4 kWh/m3)
